■ 時間、時刻、日付 | |
■ パソコンの時刻を取得する ■ Windowsが起動してからの経過時間を取得する ■ 日付(年月日)を入力する |
|
|
|
■ パソコンの時刻を取得する | |
Win32APIのGetLocalTime( )を使かうとパソコンの現在時刻が取得できます。 例の場合Memo1に 2008年5月11日 日曜日 午前11時2分53秒が ” 2008/5/11(日) 11:2:53 ”と云ったように表示されます。 |
|
#include <stdio.h> char strTime[128]; const char* KanjiWeek[7] = {"(日)","(月)","(火)","(水)","(木)","(金)","(土)"}; void __fastcall TForm1::Button1Click(TObject *Sender) { GetLocalTime(&stTime); sprintf(strTime , "%4d/%2d/%2d/%s %2d:%2d:%2d" , stTime.wYear , stTime.wMonth , stTime.wDay , KanjiWeek[stTime.wDayOfWeek], stTime.wHour , stTime.wMinute , stTime.wSecond ); Memo1->Text = strTime; } |
|
|
|
■ Windowsが起動してからの経過時間を取得する | |
Win32APIのGetTickCount( )を使うとWindowsが起動してからの経過時間がmsec単位で取得できます。 別のタイミングで2回経過時間を取得して差をとれば間隔時間を測定できます。例はボタン1の後ボタン2とクリックしたて時間差をラベル1に表示させたものです。 尚、システムを 49.7 日間連続して動作させると、経過時間は 0 に戻ります。 |
|
int BeforeTime,NowTime; void __fastcall TForm1::Button1Click(TObject *Sender) { BeforeTime = GetTickCount(); } //------------------------------------------------ void __fastcall TForm1::Button1Click(TObject *Sender) { Nowtime = GetTickCount(); Label1->Caption = NowTime - BeforeTime; } |
|
|
|
■ 日付(年月日)を入力する | |
DateTimePickerコンポーネントをつかうとカレンダーから日付を入力するプログラムが簡単につくれます。 DateTimePickerはWin32タブにあります。 ・例の場合Year,Month,Dayに年月日が整数で取得され、選択値が変わるとラベルの値も変化します。 ・表示を ” 2008年 3月 2日(土) ”のようにするには DateTimePicker1->Format = "yyyy年 M月 dd日 (ddd)"; とします。 |
|
unsigned short int Year,Month,Day; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { DateTimePicker1->Format = "yyyy/M/dd(ddd)"; //表示例:2008/3/2(土) (DateTimePicker1->Date).DecodeDate(&Year,&Month,&Day); } //--------------------------------------------------------------------------- void __fastcall TForm1::DateTimePicker1Change(TObject *Sender) { Label1->Caption = Year; Label2->Caption = Month; Label3->Caption = Day; } //--------------------------------------------------------------------------- |
|